package com.itcam.iostream_;

import java.io.*;

/**
 * Author:Cammy.Wu
 * Date:2024-05-13
 * Description:处理流（缓冲字符流）BufferedReader BufferedWrite
 */

public class DisposeStreamDemo02 {
    public static void main(String[] args) throws IOException {
        // 1.创建文件
        File f1 = new File("E:\\IOstream\\Input.txt");
        // 2.目标文件
        File f2 = new File("E:\\IOstream\\Output.txt");
        // 3.输入管道对到源文件
        FileReader fr = new FileReader(f1);
        // 4.输出管道对到目标文件
        FileWriter fw = new FileWriter(f2);
        // 5.套一根管到输入的字符流上
        BufferedReader br = new BufferedReader(fr);
        // 6.套一根管到输出的字符流上
        BufferedWriter bw = new BufferedWriter(fw);
        // 7.开始动作
        // 方式一：读取一个字符，输出一个字符
//        int n = br.read();
//        while (n != -1) {
//            bw.write(n);
//            n = br.read();
//        }
        // 方式二：利用缓冲数组
//        char[] chars = new char[100];
//        int len = br.read();
//        while (len != -1) {
//            bw.write(chars, 0, len);
//            len = br.read();
//        }
        // 方式三：读取String（处理流才有）
        String str = br.readLine(); // 每次读取文本文件中一行
        while (str != null) {
            bw.write(str);
            str = br.readLine();
        }
        // 8.关闭流
        bw.close();
        br.close();
    }
}
